package cc.rengu.igas.channel.cpcn.facade;

import cc.rengu.igas.channel.cpcn.facade.request.*;
import cc.rengu.igas.channel.cpcn.facade.response.*;
import cc.rengu.igas.channel.cpcn.facade.result.Result;

/**
 * @author wukefan
 * @version 1.0.0
 * @date 2020/7/16 14:49
 * 中金支付商户订单服务
 */
public interface CpcnMchntOrderService {

    /**
     * 中金支付商户订单查询服务
     */
    Result<CpcnMchntOrderPayQueryResponse> cpcnMchntOrderPayQuery(CpcnMchntOrderPayQueryRequest cpcnMchntOrderPayQueryRequest);

    /**
     * 中金支付商户订单付款账户信息查询
     */
    Result<CpcnMchntOrderPayerAcctInfoQueryResponse> cpcnMchntOrderPayerAcctInfoQuery(CpcnMchntOrderPayerAcctInfoQueryRequest cpcnMchntOrderPayerAcctInfoQueryRequest);

    /**
     * 中金支付商户订单支付退款
     */
    Result<CpcnMchntOrderPayRefundResponse> cpcnMchntOrderPayRefund(CpcnMchntOrderPayRefundRequest cpcnMchntOrderPayRefundRequest);

    /**
     * 中金支付商户订单支付退款查询
     */
    Result<CpcnMchntOrderPayRefundQueryResponse> cpcnMchntOrderPayRefundQuery(CpcnMchntOrderPayRefundQueryRequest cpcnMchntOrderPayRefundQueryRequest);

    /**
     * 中金支付商户订单支付原路退款
     */
    Result<CpcnMchntOrderPayOriginalRefundResponse> cpcnMchntOrderPayOriginalRefund(CpcnMchntOrderPayOriginalRefundRequest cpcnMchntOrderPayOriginalRefundRequest);
}
